In high speed communications, and particularly a synchronous transfer mode (ATM) in the telecommunications industry, available bandwidth is at a premium. Thus, there is a continuing need to provide more and more information over a given channel. One of the issues is how the resources on a particular channel are allocated. Often different types of information have different rates and different priorities but are on the same channel. These different rates must all be serviced but may have different priorities and different rates. One technique is simply to take turns but that may be inconsistent with the data rate. Another technique is to service the higher priority. This may result in starvation for the lower priority. This may be an undesirable result, especially if there is a commitment to provide the lower priority.
Accordingly, there is a need to provide multiple queues on a single channel with service that is consistent with the priorities of the queues and not starve the queues with lower priorities.
Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve the understanding of the embodiments of the present invention.